IsDate

Basic and Crystal syntax.

Overloads
Arguments
Returns

Boolean value (True or False).

Action

IsDate returns True if the given String or Number value can be converted to a valid Date and returns False otherwise. A valid Date is any date between January 1, 100 through December 31, 9999.

Typical use

If you want to convert a String value to a Date using the functions CDate or DateValue, use the IsDate function first to check if the conversion will succeed. See below for an example.

Examples

The following examples are applicable to both Basic and Crystal syntax:

IsDate ("Jan 1, 1999")

Returns True.

IsDate (100)

Also returns True since the number 100 is interpreted as 100 days from Dec. 30, 1899, which is April 9, 1900.

IsDate ("Feb 29, 1999")

Returns False since 1999 is not a leap year and so the String cannot be converted to a Date.

Suppose an orders report is grouped monthly by order date. Here is a formula that returns the Date value that is extracted from the GroupName String field. If the report is a TopN report, the GroupName field can have a value "Others". This can not be converted into a Date, and so IsDate is used to prevent an error from being generated in the call to CDate:

Rem Basic syntax

Dim s As String

s = GroupName ({Orders.Order Date}, "monthly")

If IsDate(s) Then

    formula = CDate(s)

Else

    formula = CDate(0,0,0)

End If


//Crystal syntax

Local StringVar s := GroupName ({Orders.Order Date}, "monthly");

If IsDate(s) Then

    CDate(s)

Else

    CDate(0,0,0)

Returns the Date value May 1, 1998 if the GroupName field value is "May - 1998". Returns the null Date (a non-printing Date value) if the GroupName field value is "Others".

Comment

This function is similar to the Visual Basic function of the same name, except that it works specifically with Crystal Report's Date type which holds date values only.



Seagate Software IMG Holdings, Inc.
http://www.seagatesoftware.com
Support services:
http://support.seagatesoftware.com